Micron Document
🎖️GitЯра🎖️

Node / meshcore / MeshCore / files / src / helpers / UTF8Helpers.h

Displaying Raw • Download

src/helpers/UTF8Helpers.h 890a2e2cffa98dea3ca88db3c3aba72ef23ff3f7 (890a2e2c) Text, 1.50 KB

Tff7b72#Tff7b72pragma once

Tff7b72#Tff7b72include T8b949e<stddef.h>
Tff7b72#Tff7b72include T8b949e<stdint.h>

Te6edf3namespace Te6edf3mesh Tb4b4b4{

Tff7b72inline Tffa657bool Td2a8ffisUtf8ContinuationTb4b4b4(Tffa657uint8_t Tffa657byteTb4b4b4) Tb4b4b4{
Tff7b72return Tb4b4b4(Tffa657byte Tff7b72& T79c0ff0xC0Tb4b4b4) Tff7b72=Tff7b72= T79c0ff0x80Tb4b4b4;
Tb4b4b4}

Tff7b72inline Tffa657size_t Td2a8ffvalidUtf8PrefixLengthTb4b4b4(Tff7b72const Tffa657charTff7b72* Te6edf3textTb4b4b4, Tffa657size_t Te6edf3max_bytesTb4b4b4) Tb4b4b4{
Tff7b72if Tb4b4b4(Te6edf3text Tff7b72=Tff7b72= Tffa657nullptrTb4b4b4) Tff7b72return T79c0ff0Tb4b4b4;

Tffa657size_t Te6edf3offset Tff7b72= T79c0ff0Tb4b4b4;
Tff7b72while Tb4b4b4(Te6edf3textTb4b4b4[Te6edf3offsetTb4b4b4] Tff7b72!Tff7b72= Ta5d6ff'Ta5d6ff\0Ta5d6ff'Tb4b4b4) Tb4b4b4{
Tff7b72const Tffa657uint8_t Te6edf3first Tff7b72= Te6edf3static_castTff7b72<Tffa657uint8_tTff7b72>Tb4b4b4(Te6edf3textTb4b4b4[Te6edf3offsetTb4b4b4]Tb4b4b4)Tb4b4b4;
Tffa657size_t Te6edf3sequence_length Tff7b72= T79c0ff0Tb4b4b4;

Tff7b72if Tb4b4b4(Te6edf3first Tff7b72<Tff7b72= T79c0ff0x7FTb4b4b4) Tb4b4b4{
Te6edf3sequence_length Tff7b72= T79c0ff1Tb4b4b4;
Tb4b4b4} Tff7b72else Tff7b72if Tb4b4b4(Te6edf3first Tff7b72>Tff7b72= T79c0ff0xC2 Tff7b72&Tff7b72& Te6edf3first Tff7b72<Tff7b72= T79c0ff0xDFTb4b4b4) Tb4b4b4{
Te6edf3sequence_length Tff7b72= T79c0ff2Tb4b4b4;
Tb4b4b4} Tff7b72else Tff7b72if Tb4b4b4(Te6edf3first Tff7b72>Tff7b72= T79c0ff0xE0 Tff7b72&Tff7b72& Te6edf3first Tff7b72<Tff7b72= T79c0ff0xEFTb4b4b4) Tb4b4b4{
Te6edf3sequence_length Tff7b72= T79c0ff3Tb4b4b4;
Tb4b4b4} Tff7b72else Tff7b72if Tb4b4b4(Te6edf3first Tff7b72>Tff7b72= T79c0ff0xF0 Tff7b72&Tff7b72& Te6edf3first Tff7b72<Tff7b72= T79c0ff0xF4Tb4b4b4) Tb4b4b4{
Te6edf3sequence_length Tff7b72= T79c0ff4Tb4b4b4;
Tb4b4b4} Tff7b72else Tb4b4b4{
Tff7b72breakTb4b4b4;
Tb4b4b4}

Tff7b72if Tb4b4b4(Te6edf3offset Tff7b72+ Te6edf3sequence_length Tff7b72> Te6edf3max_bytesTb4b4b4) Tff7b72breakTb4b4b4;

Tffa657bool Te6edf3complete Tff7b72= Tffa657trueTb4b4b4;
Tff7b72for Tb4b4b4(Tffa657size_t Te6edf3i Tff7b72= T79c0ff1Tb4b4b4; Te6edf3i Tff7b72< Te6edf3sequence_lengthTb4b4b4; Te6edf3iTff7b72+Tff7b72+Tb4b4b4) Tb4b4b4{
Tff7b72if Tb4b4b4(Te6edf3textTb4b4b4[Te6edf3offset Tff7b72+ Te6edf3iTb4b4b4] Tff7b72=Tff7b72= Ta5d6ff'Ta5d6ff\0Ta5d6ff' Tff7b72|Tff7b72| Tff7b72!Te6edf3isUtf8ContinuationTb4b4b4(Te6edf3static_castTff7b72<Tffa657uint8_tTff7b72>Tb4b4b4(Te6edf3textTb4b4b4[Te6edf3offset Tff7b72+ Te6edf3iTb4b4b4]Tb4b4b4)Tb4b4b4)Tb4b4b4) Tb4b4b4{
Te6edf3complete Tff7b72= Tffa657falseTb4b4b4;
Tff7b72breakTb4b4b4;
Tb4b4b4}
Tb4b4b4}
Tff7b72if Tb4b4b4(Tff7b72!Te6edf3completeTb4b4b4) Tff7b72breakTb4b4b4;

Tff7b72if Tb4b4b4(Te6edf3sequence_length Tff7b72=Tff7b72= T79c0ff3Tb4b4b4) Tb4b4b4{
Tff7b72const Tffa657uint8_t Te6edf3second Tff7b72= Te6edf3static_castTff7b72<Tffa657uint8_tTff7b72>Tb4b4b4(Te6edf3textTb4b4b4[Te6edf3offset Tff7b72+ T79c0ff1Tb4b4b4]Tb4b4b4)Tb4b4b4;
Tff7b72if Tb4b4b4(Tb4b4b4(Te6edf3first Tff7b72=Tff7b72= T79c0ff0xE0 Tff7b72&Tff7b72& Te6edf3second Tff7b72< T79c0ff0xA0Tb4b4b4) Tff7b72|Tff7b72| Tb4b4b4(Te6edf3first Tff7b72=Tff7b72= T79c0ff0xED Tff7b72&Tff7b72& Te6edf3second Tff7b72> T79c0ff0x9FTb4b4b4)Tb4b4b4) Tff7b72breakTb4b4b4;
Tb4b4b4} Tff7b72else Tff7b72if Tb4b4b4(Te6edf3sequence_length Tff7b72=Tff7b72= T79c0ff4Tb4b4b4) Tb4b4b4{
Tff7b72const Tffa657uint8_t Te6edf3second Tff7b72= Te6edf3static_castTff7b72<Tffa657uint8_tTff7b72>Tb4b4b4(Te6edf3textTb4b4b4[Te6edf3offset Tff7b72+ T79c0ff1Tb4b4b4]Tb4b4b4)Tb4b4b4;
Tff7b72if Tb4b4b4(Tb4b4b4(Te6edf3first Tff7b72=Tff7b72= T79c0ff0xF0 Tff7b72&Tff7b72& Te6edf3second Tff7b72< T79c0ff0x90Tb4b4b4) Tff7b72|Tff7b72| Tb4b4b4(Te6edf3first Tff7b72=Tff7b72= T79c0ff0xF4 Tff7b72&Tff7b72& Te6edf3second Tff7b72> T79c0ff0x8FTb4b4b4)Tb4b4b4) Tff7b72breakTb4b4b4;
Tb4b4b4}

Te6edf3offset Tff7b72+Tff7b72= Te6edf3sequence_lengthTb4b4b4;
Tb4b4b4}
Tff7b72return Te6edf3offsetTb4b4b4;
Tb4b4b4}

Tb4b4b4} T8b949e// namespace mesh

Served by rngit 1.5.0 - Generated in 0.07s